package com.ccc.scala.base12_regularExpression


object Regular02 {
  def main(args: Array[String]): Unit = {
    // 正则表达式

    // 手机号正则表达式验证方法
    println(isMobileNumber("18801234567")) // true
    println(isMobileNumber("11111111111")) // false
    println(isMobileNumber("12356")) // false


    // 构建正则表达式
    val r = """([_A-Za-z0-9-]+(?:\.[_A-Za-z0-9-\+]+)*)(@[A-Za-z0-9-]+(?:\.[A-Za-z0-9-]+)*(?:\.[A-Za-z]{2,})) ?""".r
    println(r.replaceAllIn("abc.edf+jianli@gmail.com   hello@gmail.com.cn", (m => "*****" + m.group(2))))


}

  // 手机号正则表达式验证方法
  def isMobileNumber(number: String): Boolean = {
    val regex = "^((13[0-9])|(14[5,7,9])|(15[^4])|(18[0-9])|(17[0,1,3,5,6,7,8]))[0-9]{8}$".r
    val length = number.length
    regex.findFirstMatchIn(number.slice(length - 11, length)) != None
  }


}
